package de.preisrobot.entity;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.TemporalType;

@SuppressWarnings("serial")
@Entity
@Table(name="artikel")
public class Artikel  extends AbstractEntity implements Serializable {

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	protected long id;
	private String beschreibung;
	private String artikelLink;
	private String imageLink;
	private String preisDesc;
	private String artikelPreislink;
	private String preis;
	private String artikelNr;
	@javax.persistence.Temporal(TemporalType.TIMESTAMP)
	private Date creationDate;
	
	private int anbieterId;
	private transient String hersteller;
	private int manufacturer_id;
	
	private Map<String,Object> attribute = new HashMap<String, Object>();
	
	public Artikel()
	{
		creationDate = new Date();
	}

	
	public String getArtikelPreislink() {
		return artikelPreislink;
	}

	public void setArtikelPreislink(String artikelPreislink) {
		this.artikelPreislink = artikelPreislink;
	}

	public String getDesc() {
		return beschreibung;
	}

	public String getArtikelLink() {
		return artikelLink;
	}

	public String getImageLink() {
		return imageLink;
	}

	public String getPreisDesc() {
		return preisDesc;
	}

	public String getPreis() {
		return preis;
	}

	public String getArtikelNr() {
		return artikelNr;
	}


	public void setArtikelNr(String itemName) {
		this.artikelNr = itemName;
	}

	public void setPreis(String string) {
		this.preis = string;

	}

	public void setArtikelPreisRef(String string) {
		this.artikelPreislink = string;

	}

	public void setPreisDesc(String string) {
		this.preisDesc = string;

	}

	public void setImageLink(String string) {
		this.imageLink = string;

	}

	public void setArtikelLink(String string) {
		this.artikelLink = string;

	}

	public void setDesc(String string) {
		this.beschreibung = string;

	}

	public void setId(long id) {
		this.id = id;
	}

	public long getId() {
		return id;
	}

	public void setCreationDate(Date creationDate) {
		this.creationDate = creationDate;
	}

	public Date getCreationDate() {
		return creationDate;
	}


	public void setAnbieterId(int anbieterId) {
		this.anbieterId = anbieterId;
	}


	public int getAnbieterId() {
		return anbieterId;
	}


	@Override
	public String toString() {
		return "AmazonArtikel [id=" + id + ", beschreibung=" + beschreibung
				+ ", artikelLink=" + artikelLink + ", imageLink=" + imageLink
				+ ", preisDesc=" + preisDesc + ", artikelPreislink="
				+ artikelPreislink + ", preis=" + preis + ", artikelNr="
				+ artikelNr + ", creationDate=" + creationDate
				+ ", anbieterId=" + anbieterId + "]";
	}


	public void setHersteller(String hersteller) {
		this.hersteller=hersteller;
	}
	
	public String getHersteller(){
		return hersteller;
	}
	
	public int getManufacturer_id() {
		return manufacturer_id;
	}


	public void setManufacturer_id(int manufacturer_id) {
		this.manufacturer_id = manufacturer_id;
	}


	public void addAttribute(String key,Object value) {
		this.attribute.put(key, value);
	}
	public Map<String, Object> getAttribute( ) {
		return this.attribute;
	}

}
